package com.zust.util;

import java.math.BigDecimal;

/**
 * Created on 2018/3/14.
 * BigDecimal操作的工具类,包含加减乘除
 * @author Jie
 */
public class BigDecimalUtil {

    /**
     * 相加
     * @param v1 double类型
     * @param v2 double类型
     * @return 二者相加后的结果, BigDecimal类型
     */
    public static BigDecimal add(double v1, double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.add(b2);
    }

    /**
     * 相减
     * @param v1 double类型
     * @param v2 double类型
     * @return 二者相减后的结果, BigDecimal类型
     */
    public static BigDecimal sub(double v1,double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.subtract(b2);
    }

    /**
     * 相乘
     * @param v1 double类型
     * @param v2 double类型
     * @return 二者相乘后的结果, BigDecimal类型
     */
    public static BigDecimal mul(double v1,double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.multiply(b2);
    }

    /**
     * 相除
     * @param v1 double类型
     * @param v2 double类型
     * @return 二者相除后的结果, BigDecimal类型
     */
    public static BigDecimal div(double v1,double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        //四舍五入保留两位小数
        return b1.divide(b2,2,BigDecimal.ROUND_HALF_UP);
    }

}
